package com.huazai.apply.manager.dao;

import com.huazai.apply.manager.bean.ApplyMessage;

import java.util.List;
import java.util.Map;

/**
 * @author EZTTU
 */
public interface ApplyMapper {

    /**
     * 是普通用户使用的一个查询，根据用户id来进行查询
     * 在id为空的时候默认查询出所有的用户请求
     *
     * @param userId 需要查询的用户id，为null时即为查询出所有的请求
     * @return 查询到的用户申请列表
     */
    List<ApplyMessage> getApplyById(String userId);

    /**
     * 处理管理员发出的审批请求
     *
     * @param map map中存储了要审批的审批id和审批结果
     * @return 是否审批成功
     */
    boolean judgeApply(Map<String, String> map);

    /**
     * 上传用户提交的出校申请
     *
     * @param message 出校申请的所有信息的封装实体类
     * @return 是否上传成功
     */
    boolean uploadApply(ApplyMessage message);

    /**
     * 管理员对于审批做出的删除需求
     *
     * @param applyId 需要删除的请求号
     * @return 是否删除成功
     */
    boolean deleteApply(String applyId);
}
